package com.xiaobawang.knowledge.spider.forest;

import com.dtflys.forest.annotation.*;
import com.dtflys.forest.http.ForestResponse;
import com.xiaobawang.knowledge.spider.model.dto.GovernmentRuleListReqDTO;

import java.util.Map;

/**
 * @author 18101119
 * @description 对接 sap
 * @date 2024/3/21 17:42
 * @email songxinhang2023@e-chinalife.com
 * @id 18101119
 * @phone 13001321080
 */
@BaseRequest(
        // 域名
        baseURL = "${baseUrl.government.api}",
        // 请求头
        headers = {
                "Content-Type:application/json",
                "accept:*/*"
        }
)
public interface GovernmentFinancialClient {

    /**
     * @param governmentRuleListReqDTO 请求体
     * @param header                   请求头
     * @return com.dtflys.forest.http.ForestResponse<com.google.gson.JsonObject>
     * @author synhard
     * @description 获取国家金融监管文件列表
     * @date 2025/3/28 14:28
     */
    @Post("/cbircweb/solr/openGovSerch")
    ForestResponse<String> getRuleList(
            @Body GovernmentRuleListReqDTO governmentRuleListReqDTO,
            @Header Map<String, Object> header);

    /**
     * @param docId  文章id
     * @param header 请求头
     * @return com.dtflys.forest.http.ForestResponse<java.lang.String>
     * @author synhard
     * @description 获取规章文件详情
     * @date 2025/3/28 16:45
     */
    @Get("/cbircweb/download/downloadguizDoc?docId={docId}")
    byte[] getRuleFile(@Var("docId") String docId, @Header Map<String, Object> header);

    /**
     * @param docId       文章id
     * @param generaltype 生成类型
     * @param header      请求头
     * @return byte[]
     * @author synhard
     * @description 获取行政规范性文件详情
     * @date 2025/4/1 09:06
     */
    @Get("/cbircweb/download/downloadPdf?docId={docId}&generaltype={generaltype}")
    byte[] getAdministrationFile(@Var("docId") String docId, @Var("generaltype") Integer generaltype, @Header Map<String, Object> header);
}